//this is a module that can generate GG
//Last modified by yangjao at 2021/5/12

module GG_generator(
    input wire bigger15,
    input wire[31:0] data_in1,
    input wire[31:0] data_in2,
    input wire[31:0] data_in3,

    output wire[31:0] data_out    
);

assign data_out = bigger15 ? ((data_in1&data_in2)|((~data_in1)& data_in3)) : data_in1^data_in2^data_in3;

endmodule